/**
 * 打开外部网页或 App
 * @param {String} url      要打开的地址（http/https 或 scheme）
 * @param {String} appPkg   Android 包名（可选，仅 App-Android）
 * @param {String} appAction iOS scheme（可选，仅 App-iOS）
 */
export function openOutside(url, appPkg = '', appAction = '') {
  // #ifdef APP-PLUS
  // 1. 先尝试 scheme 唤醒 App
  plus.runtime.openURL(
    url,
    res => console.log('scheme 唤醒成功', res),
    err => {
      console.log('scheme 失败，尝试包名/Action', err)
      // Android 用包名
      // #ifdef ANDROID
      if (appPkg) {
        plus.runtime.launchApplication(
          { pname: appPkg },
          e => console.error('包名启动也失败', e.message)
        )
      }
      // #endif
      // iOS 用 action
      // #ifdef IOS
      if (appAction) {
        plus.runtime.launchApplication(
          { action: appAction },
          e => console.error('Action 启动也失败', e.message)
        )
      }
      // #endif
    }
  )
  // #endif

  // #ifdef MP-WEIXIN || MP-ALIPAY || MP-BAIDU || MP-QQ || MP-TOUTIAO
  // 小程序：直接跳 web-view 页（带 url 参数）
  uni.navigateTo({ url: `/pages/webview/webview?src=${encodeURIComponent(url)}` })
  // #endif

  // #ifdef H5
  // H5：直接当前页跳转
  window.open(url, '_blank')
  // #endif
}